The prior art has disclosed various interactive draw graphic arrangements in which a graphic object may be created and edited, e.g., modified by an operator following a sequence of interactions with the systems. These systems generally include an all-points addressable display device which functions to display on its screen, graphic object creating actions or editing actions that the operator has selected and entered into the system by means of a keyboard or a mouse.
Interactive draw graphic systems may be physically packaged as a dedicated type stand-alone work station or as a group of separate, cable-connected personal computer system components that is executing a draw graphics program.
Most all prior art interactive draw graphic systems provide the operator with the ability to edit a graphic object once it has been created. The typical graphic editing actions provided by prior art systems include move, copy, rotate, stretch, shrink, scale up or down, and delete or erase. In the process of editing an object, the operator must select the particular editing action and for editing actions such as move, rotate, and scale the operator must also provide a distance value and direction to the system. In addition, in some more sophisticated draw graphic arrangements, the operator is provided with the ability to select a particular object from a group of individual objects that are displayed in an overlaid fashion on the screen.
The manner in which these interactive steps are implemented in the system is sometimes referred to as the operator interface and it is this interface that determines if the particular graphic application is "user friendly" which is of paramount importance in the personal computer market.
Some prior art systems permit the graphic editing actions that are available for editing complete graphic objects to also be used to edit a sub-object. The term sub-object refers to a part of a graphic object. This part or segment exists between two defined points which are included in the definition of the main object. The end points of the sub-object may or may not be connected to another segment. If the object is a closed object, then the end points of each sub-object are connected. If, on the other hand, the object is open, then at least one of the end points is not connected.
A "joint" or a vertex is formed when two end points of different sub-objects are interconnected.
The ability of the system to edit sub-objects is important to the operator's efficiency, since it means that the object does not have to be redrawn. Prior art sub-object graphic editing systems are somewhat limited in the kind of editing actions that are permitted once the sub-object has been selected. In these systems, movement of the sub-object, causes the line segments that are attached to the end points of the moving sub-object to "rubber-band." For example, if the subject object is the right side of a square and the movement of the sub-object is to the right in a generally horizontal direction, the square is changed to a rectangle. If, on the other hand, the sub-object is moved vertically, the square is changed to a parallelogram. Similar type "rubber-banding" actions occur with other editing actions and other type objects.
The rubber-banding action occurs because the system has defined all of the sub-objects that define the main object as line segments between two points, each of which is represented by an x, y coordinate. If the point is moved by the editing action on a sub-object, the system redefines the end points for the sub-object and also for the attached line segments. If the operator merely wants to modify the appearance of the sub-object and not the total object, he must erase the sub-object and re-draw it. This is not very efficient from the operator standpoint and could be very frustrating if the sub-object is overlaid with a number of other graphic objects, since it is quite easy to erase the wrong lines in the erasing process.
Co-pending U.S. application Ser. No. 710,762 entitled "Method of Manipulation of Graphic Sub-Objects in an Interactive Draw Graphic System filed on Mar. 11, 1985 and assigned to the assignee of the present invention is directed to a method in which the operator is provided with a choice of whether or not the entire object should be modified when a sub-object is being modified. That method involves the step of assigning a binary attribute to the end points of the sub-object to be modified that determine if each vertex corresponding to each end point of the sub-object can be "broken" or separated or whether it is to "stay attached." If the operator chooses to have the vertices break, the operator controls which one or both vertices break by where along the length of the sub-object it is selected. For example, in that arrangement, if the vertices are assigned to break and the operator selects the object in the middle third, then both vertices break as the sub-object segment is moved. If, however, the sub-object is selected at either of its end third portions, then the sub-object is merely rotated around the opposite vertex. In either case, the remaining portion of the object is not affected. If the operator elects to have the vertices not break, but stay attached as the sub-object is moved, then any editing action on the sub-object affects the shape and appearance of the overall object, in that the line segments attached to the ends of the sub-object are redrawn by the system in a "rubber-banding" action.
Such an arrangement operates satisfactorily in most situations. However, where sub-objects are relatively short, it is sometimes difficult for the operator to implement a control action involving the selection of a desired third of the sub-object. The present invention avoids the above problem.